package data;

public class demo06 {
    public static void main(String[] args) {
//        关系运算符
        int a = 10;
        int b = 5;
        System.out.println(a > b);  //true  大于成立
        System.out.println(a >= b);  //true  大于等于成立
        System.out.println(a < b);  //false  小于不成立
        System.out.println(a <= b);  //false  小于等于不成立
        System.out.println(a == b);  //false  等于不成立
        System.out.println(a != b);  //true  不等于成立
        System.out.println(a = b);  //5 赋值

//        逻辑及运算符
      /* &(与运算全镇则为真),
         |(或运算全假则为假),
         !(非运算取反：你真我假，你假我真),
         ^(异或运算:前后条件的结果相同返回false，前后条件的结果不同返回true)*/
        double s1 = 256;
        double s2 = 3156.3;
        boolean rs1 = s1 >= 128 & s2 <=4000;
        boolean rs2 = s1 >= 512 | s2 <=4000;
        System.out.println(rs1);  //true
        System.out.println(rs2);  //true
        System.out.println(!true);  //false
        System.out.println(!false);  //true
        System.out.println(3 > 1 ^ 6 < 3); //true
        System.out.println(3 > 1 ^ 1 > 3);  //true
        System.out.println(3 > 1 ^ 6 > 3);  //false
        System.out.println(true ^ true);  //false
        System.out.println(false ^ false);   //false
        System.out.println(true ^ false);  //true
        System.out.println(false ^ true);  //true

        int m1 = 10;
        int m2 = 15;
        //&&短路与,从左到运算,当发现第一个false,则终止运算输出falsse
        System.out.println(m1 > 20 && ++m2 < 20);  //false
        System.out.println(m2);  //15
        System.out.println(m1 > 20 & ++m2 < 20);  //false
        System.out.println(m2);  //16
        // ||短路或，从左到右运算，当发现第一个true，则终止运算，输出true
        System.out.println(m1 < 20 || ++m1 < 20);  //true
        System.out.println(m1);//10
        System.out.println(m1 < 20 | ++m1 < 20);  //true
        System.out.println(m1);  //11

//        三元运算符 格式：  ？ 值1：值2  条件成立返回值1，条件不成立返回值2
        //判断学生成绩是否及格
        double score = 59.5;
        String rs = score >= 60 ? "成绩及格":"成绩不及格";
        System.out.println(rs);  //成绩不及格

        //找出两个数中的较大值，并输出
        int i1 = 12;
        int i2 = 20;
        int max = i1 > i2 ? i1 : i2;
        System.out.println(max); //20

        //找三个整数中的较大值
        int j1 = 10;
        int j2 = 45;
        int j3 = 34;
        int temp = j1 > j2 ? j1 : j2;
        int max2 = temp > j3 ? temp : j3;
        System.out.println(max2);

    }
}
